package com.ztgf.sys.models.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.ztgf.sys.models.bo.SysEmailManageBO;
import com.ztgf.sys.models.bo.SysEmailManageSaveBO;
import com.ztgf.sys.models.dto.SysEmailManageDTO;
import com.ztgf.sys.models.vo.SysEmailManageVO;

/**
 * author: chenyu.wang
 * date: 2020-07-10 15:21
 * Description: 邮件管理表服务
 */
public interface ISysEmailManageService extends IService<SysEmailManageDTO> {

    /**
     * description: 添加邮件管理发布表
     * param: [saveBO]
     * author: chenyu.wang
     * date: 2020-07-10
     * return: boolean
     */
    boolean add(SysEmailManageSaveBO saveBO);

    /**
     * description: 后台管理系统邮件发送列表
     * param: [bo]
     * author: chenyu.wang
     * date: 2020-07-10
     * return: com.baomidou.mybatisplus.plugins.Page<com.ztgf.sys.models.vo.SysEmailManageVO>
     */
    Page<SysEmailManageVO> queryAdminEmailList(SysEmailManageBO bo);

    /**
     * @Description: 发布邮件查看详情
     * @Author: WangChenYu
     * @Param: [id]
     * @Date: 2020-10-14 15:10
     */
    SysEmailManageVO queryById(Long id);

    /**
     * @Description: 批量发送邮件
     * @Author: liyang
     * @param bo
     * @param sessionId
     * @param toString
     * @Date: 2021-2-20
     */
    void saveBatchByType(SysEmailManageSaveBO bo, String sessionId, String toString);

    Page<SysEmailManageVO> queryPageListByNoticeId(SysEmailManageBO sysEmailManageBO);
}
